home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / hf^k-2.dms / in.adf / MUIClass.Lha / Include / Classes / TWiMUI / Dirlist.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-06  |  3.1 KB  |  92 lines

  1. //
  2. //  $VER: Dirlist.h     1.2 (02 Sep 1996)
  3. //
  4. //    c 1996 Thomas Wilhelmi
  5. //
  6. //
  7. // Address : Taunusstrasse 14
  8. //           61138 Niederdorfelden
  9. //           Germany
  10. //
  11. //  E-Mail : willi@twi.rhein-main.de
  12. //
  13. //   Phone : +49 (0)6101 531060
  14. //   Fax   : +49 (0)6101 531061
  15. //
  16. //
  17. //  $HISTORY:
  18. //
  19. //  16 Jun 1996 :   1.0 : first public Release
  20. //
  21. //  02 Sep 1996 :   1.2 : Neu:
  22. //                        - ClassNum() für Exception-Handling.
  23. //                        Änderungen
  24. //                        - Parameter des Copy-Konstruktor als 'const'-Parameter definiert
  25. //
  26.  
  27. #ifndef CPP_TWIMUI_DIRLIST_H
  28. #define CPP_TWIMUI_DIRLIST_H
  29.  
  30. #ifndef CPP_TWIMUI_LIST_H
  31. #include <classes/twimui/list.h>
  32. #endif
  33.  
  34. class MUIDirlistFilterHook
  35.     {
  36.     private:
  37.         struct Hook filterhook;
  38.         static BOOL FilterHookEntry(register __a0 struct Hook *, register __a2 Object *, register __a1 struct ExAllData *);
  39.         virtual BOOL FilterHookFunc(struct Hook *, Object *, struct ExAllData *);
  40.     protected:
  41.         MUIDirlistFilterHook();
  42.         MUIDirlistFilterHook(const MUIDirlistFilterHook &p);
  43.         ~MUIDirlistFilterHook();
  44.         MUIDirlistFilterHook &operator= (const MUIDirlistFilterHook &);
  45.     public:
  46.         struct Hook *filter() { return(&filterhook); };
  47.     };
  48.  
  49. class MUIDirlist
  50.     :   public MUIList,
  51.         public MUIDirlistFilterHook
  52.     {
  53.     protected:
  54.         virtual const ULONG ClassNum() const;
  55.     public:
  56.         MUIDirlist(const struct TagItem *t)
  57.             :   MUIList(MUIC_Dirlist),
  58.                 MUIDirlistFilterHook()
  59.             {
  60.             init(t);
  61.             };
  62.         MUIDirlist(const Tag, ...);
  63.         MUIDirlist()
  64.             :   MUIList(MUIC_Dirlist),
  65.                 MUIDirlistFilterHook()
  66.             { };
  67.         MUIDirlist(const MUIDirlist &);
  68.         virtual ~MUIDirlist();
  69.         MUIDirlist &operator= (const MUIDirlist &);
  70.         void AcceptPattern(const STRPTR p) { set(MUIA_Dirlist_AcceptPattern,(ULONG)p); };
  71.         void Directory(const STRPTR p) { set(MUIA_Dirlist_Directory,(ULONG)p); };
  72.         STRPTR Directory() const { return((STRPTR)get(MUIA_Dirlist_Directory,NULL)); };
  73.         void DrawersOnly(const BOOL p) { set(MUIA_Dirlist_DrawersOnly,(ULONG)p); };
  74.         void FilesOnly(const BOOL p) { set(MUIA_Dirlist_FilesOnly,(ULONG)p); };
  75.         void FilterDrawers(const BOOL p) { set(MUIA_Dirlist_FilterDrawers,(ULONG)p); };
  76.         void FilterHook(const struct Hook *p) { set(MUIA_Dirlist_FilterHook,(ULONG)p); };
  77.         void MultiSelDirs(const BOOL p) { set(MUIA_Dirlist_MultiSelDirs,(ULONG)p); };
  78.         LONG NumBytes() const { return((LONG)get(MUIA_Dirlist_NumBytes,0L)); };
  79.         LONG NumDrawers() const { return((LONG)get(MUIA_Dirlist_NumDrawers,0L)); };
  80.         LONG NumFiles() const { return((LONG)get(MUIA_Dirlist_NumFiles,0L)); };
  81.         STRPTR Path() const { return((STRPTR)get(MUIA_Dirlist_Path,NULL)); };
  82.         void RejectIcons(const BOOL p) { set(MUIA_Dirlist_RejectIcons,(ULONG)p); };
  83.         void RejectPattern(const STRPTR p) { set(MUIA_Dirlist_RejectPattern,(ULONG)p); };
  84.         void SortDirs(const LONG p) { set(MUIA_Dirlist_SortDirs,(ULONG)p); };
  85.         void SortHighLow(const BOOL p) { set(MUIA_Dirlist_SortHighLow,(ULONG)p); };
  86.         void SortType(const LONG p) { set(MUIA_Dirlist_SortType,(ULONG)p); };
  87.         LONG Status() const { return((LONG)get(MUIA_Dirlist_Status,0L)); };
  88.         void ReRead() { dom(MUIM_Dirlist_ReRead); };
  89.     };
  90.  
  91. #endif
  92.